#include <iostream>
#include "myallocator.h"
#include <vector>
#include <ctime>
using namespace std;

struct Data 
{
    Data(int a, int b, double c) : a(a), b(b), c(c) {}
    int a;
    int b;
    double c;
};

int main()
{
    srand(time(nullptr));

    vector<int, myallocator<int>> vec1;
    for (int i = 0; i < 10; ++i)
    {
        vec1.push_back(rand() % 1000 + 1);
    }

    for (int val : vec1)
    {
        cout << val << " ";
    }
    cout << endl;

    cout << "-----------------------------------------------------" << endl;

    vector<Data, myallocator<Data>> vec2;
    for (int i = 0; i < 10; ++i)
    {
        vec2.emplace_back(rand() % 10 + 1, rand() % 20 + 1, rand() % 30 + 1.0);
    }

    for (auto d : vec2)
    {
        cout << d.a << " " << d.b << " " << d.c << endl;
    }

    return 0;
}
